A microelectronic flash or block erase Electrically Erasable Programmable Read-Only Memory (EEPROM) includes an array of cells that can be independently programmed and read. The size of each cell and thereby the memory are made small by omitting transistors known as select transistors that enable the cells to be erased independently. As a result, all of the cells are erased together as a block.
A memory of this type includes individual Metal Oxide Semiconductor Field Effect Transistor (MOSFET) memory cells, each of which includes a source, a drain, a floating gate and a control gate to which various voltages can be applied to program and erase each cell. Upon reading, each programmed level within a cell reads as a binary 0, and each erased level within a cell reads as a binary 1.
The cells are connected in an array of rows and columns, with the control gates of the cells in a row being connected to a respective wordline and the drains of the cells in a column being connected to a respective bitline. The sources of the cells are connected together. This arrangement is known as a NOR memory configuration.
A cell is programmed by applying a voltage, typically 9 or 10 V to the control gate, applying a voltage of approximately 5V to the drain and grounding the source, which causes hot electrons to be injected from a drain depletion region into the floating gate. Upon removal of the programming voltages, the injected electrons are trapped. These trapped electrons lack the energy to jump back off the floating gate, and as they collect on the floating gate, the threshold voltage increases. The desired threshold voltage of a programmed level of a cell is at least 4 V.
A cell is read by applying typically 5V to the control gate, applying 1 V to the bitline to which the drain is connected, grounding the source, and sensing the bitline current. If the cell is programmed and the threshold voltage is relatively high (4V), the bitline current will be zero or at least relatively low. The programmed cell is read as a binary “0.” If the cell is erased, the threshold voltage will be relatively low (2V), the control gate will enhance the channel, and the bitline current will be relatively high. The erased cell is read as a binary “1.”
A programmed cell can be erased in several ways. In one arrangement, a cell is erased by applying a relatively high voltage, typically 12 V, to the source, grounding the control gate and allowing the drain to float. This causes the electrons that were injected into the floating gate during programming to undergo Fowler-Nordheim tunneling from the floating gate through the thin tunnel oxide layer to the source. A cell can also be erased by applying a negative voltage on the order of −10 V to the control gate, applying 5V to the source and allowing the drain to float. Another method of erasing is by applying 5V to the P-well and −10V to the control gate while allowing the source/drain to float.
A problem with conventional flash EEPROM cell arrangement is that due to manufacturing tolerances, some cells become over-erased before other cells become erased sufficiently. The floating gates of the over-erased cells are depleted of electrons and become positively charged. This causes the over-erased cells to function as depletion mode transistors that cannot be turned off by normal operating voltages applied to their control gates. The cells functioning as depletion mode transistors introduce leakage current during subsequent program and read operations.
More specifically, during program and read operations only one wordline that is connected to the control gates of a row of cells is held high at a time, while the other wordlines are grounded. However, a positive voltage is applied to the drains of all of the cells and if the threshold voltage of an unselected cell is zero or negative, the leakage current will flow through the source, channel and drain of the cell.
The undesirable effect of the leakage current from the over-erased cells is as follows. In a typical flash EEPROM, the drains of a large number of memory transistor cells, for example 512 transistor cells are connected to each bit line. If a substantial number of cells on the bitline are drawing background leakage current, the total leakage current on the bitline can exceed the cell read current. This makes it impossible to read the state of any cell on the bitline and therefore renders the memory inoperative.
Because the background leakage current of a cell varies as a function of threshold voltage, the lower (more negative) the threshold voltage the higher the leakage current. It is therefore desirable to prevent cells from being over-erased and reduce the threshold voltage distribution to as narrow a range as possible, with ideally all cells having the same threshold voltage after erase at 2V.
It is known in the art to reduce the threshold voltage distribution by performing an over-erase correction operation, which reprograms the most over-erased cells back up to a higher threshold voltage of 2 V. An over-erase correction operation of this type is generally known as Automatic Program Disturb (APD).
Following application of an erase pulse, under-erase correction is first performed on a cell-by-cell basis by rows. The cell in the first row and column position is addressed and erase verified by applying 4V to the control gate (wordline), 1 V to the drain (bitline), grounding the source, and using sense amplifiers to sense the bitline current and thereby determine if the threshold voltage of the cell is above the acceptable value of 2V. If the cell is under-erased, indicated by a threshold voltage above 2V, the bitline current will be low. In this case, an erase pulse is applied to all of the cells.
After application of each erase pulse and prior to a subsequent erase verify operation, over-erase correction is performed on all of the cells of the memory. Over-erase verify is performed on the bitlines of the array in sequence. This is accomplished by grounding the wordlines, and applying typically 1V to the first bitline, and sensing the bitline current. If the current is above a predetermined value, this indicates that at least one of the cells connected to the bitline is over-erased and is drawing leakage current. In this case, an over-erase pulse correction pulse is applied to the bitline. This is accomplished by applying 5 V to 6 V to the bitline for a predetermined length of time such as 10 micro seconds.
After application of the over-erase correction pulse the bitline is over-erase verified again. If bitline current is still high indicating that an over-erased cell still remains connected to the bitline, another over-erase correction pulse is applied. This procedure is repeated for all of the bitlines in sequence.
The procedure is repeated as many times as necessary until the bitline current is reduced to the predetermined value (2V), which is lower than the read current (5 V). Then, the procedure is performed for the rest of the cells in the first row and following rows until all of the cells in the memory have been erase verified.
By performing the over-erase correction procedure after each erase pulse, the extent to which cells are over-erased is reduced, improving the endurance of cells. Further, because over-erased cells are corrected after each pulse, bitline leakage current is reduced during erase verify, thus preventing under-erased cells from existing upon completion of the erase verify procedure.
The erase procedure causes electron trapping to occur in the tunnel oxide. In addition, the undererase and overerase procedures cause electron trapping to occur in the tunnel oxide. Although each programming/erase cycle adds only a small number of trapped electrons, the cumulative electron trapping increases as each programming/erase cycle is completed which, in turn, increasing degrades the erase time.
In multi-level flash memory cells, each cell is divided into two bits. Each bit can be either programmed (logical “0”) or erased (logical “1”). As shown in FIG. 2, each cell can manifest four unique states (“00,” “01,” “10,” and “11”). The gaps between the programmed-state threshold voltage and the erased-state threshold voltage of each bit are narrow, and must be maintained to ensure read accuracy. A disturbance of a few milli-Volts would not affect the read accuracy of a single-level flash memory cell. However, in a multi-level flash memory cell, such disturbances may render and reading of the bits useless.
What is needed are ways to tighten threshold voltage distributions of logical states in multi-level flash memory cells.